6.5. Creación de Directorios

Es hora de crear cierta estructura en el sistema de archivos LFS. Crear un árbol de directorios estándar ejecutando los siguientes comandos:

mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib,mnt,opt}
mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
install -dv -m 0750 /root
install -dv -m 1777 /tmp /var/tmp
mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
mkdir -v  /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -v  /usr/libexec
mkdir -pv /usr/{,local/}share/man/man{1..8}

case $(uname -m) in
 x86_64) ln -sv lib /lib64     && 
         ln -sv lib /usr/lib64 && 
         ln -sv lib /usr/local/lib64 ;;
esac

mkdir -v /var/{log,mail,spool}
ln -sv /run /var/run
ln -sv /run/lock /var/lock
mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}

Los directorios son, por defecto, creada con los permisos 755, pero esto no es deseable para todos los directorios. En los comandos anteriores, se hicieron dos cambios, uno para el directorio home de root, y otro en los directorios de los ficheros temporales.

El primer cambio nos asegura que nadie puede entrar en el directorio /root de la misma forma que cualquier usuario normal haría con su directorio /home. El segundo cambio nos asegura que cualquier usuario pueda escribir en el directorio / tmp y directorio /var/tmp, pero no puede eliminar archivos de otro usuario de los mismos. Este último está prohibido por el llamado "bit pegajoso", el bit más alto (1) en el bit de máscara 1777.

6.5.1. FHS Nota sobre Compilación

El árbol de directorios está basado en el estándar de jerarquía del sistema de ficheros (FHS) (disponible en http://www.pathname.com/fhs/). Además de la FHS creamos enlaces simbólicos de compatibilidad para man, doc, e info pues muchos paquetes todavía intentan instalar su documentación en /usr/<directory> o /usr/local/<directory> en lugar de /usr/share/<directory> o /usr/local/share/<directory>. El FHS también estipula la existencia de /usr/local/games y /usr/share/games. El FHS no se precisa en cuanto a la estructura de los subdirectorios/usr/local/share por lo que se crean sólo los directorios que se necesitan. Sin embargo, siéntase libre para crear estos directorios si lo prefiere.